In many public and private data processing systems, applications are executed on data processing devices, for example personal computers, laptops, tablets and terminals. In these data processing systems special care has to be taken to accommodate a robust, safe and secure user input interface. The user input interface is typically available through a desktop application programming interface (API) between a physical input device (a keyboard, for example) and processing elements of the data processing device. Secure physical input devices include expensive touch screens and special, protected keyboards. In case of keyboards in public applications, it is difficult to keep the keys clean. Furthermore, in case of explosion endangered environments keyboards may not be allowed. Furthermore, in security relevant environments it is required to protect the user entries against skimming which currently requires high effort and cost.